The present invention relates to virtual appliances. More specifically, the present invention relates to a method and device for providing a custom virtual appliance.
With the development of virtualization technology, a virtual machine is capable of providing various applications and services just like a real and standalone computer. On this basis, one or more virtual machines may be packaged together to provide a pre-constructed software environment, thereby forming a virtual appliance. For example, in one example, three virtual machines VM1, VM2 and VM3 may be utilized to construct a virtual appliance, wherein the three virtual machines being installed thereon different software programs respectively, so as to execute different functions respectively. For example, virtual machine VM1 may be used to execute various applications, VM2 may be used to provide a database, and VM3 may function as a proxy server. These “dedicated” virtual machines are packaged together to jointly provide a complete running environment, thereby forming a virtual appliance. In such a case, the plurality of virtual machines forming the virtual appliance is taken as a whole, so that they are maintained, updated and managed together.
In order to form a required virtual appliance, a variety of specifications and approaches for packaging virtual machines are set forth in prior art. Nowadays, OVF (Open Virtualization Format) is a commonly used specification for packaging and distributing virtual appliance. With OVF specification, virtual appliances may be installed and deployed across platforms in a simple and flexible manner. According to OVF specification, multiple virtual machines are packaged into one OVF package. Typically, an OVF package contains an OVF description file with suffix .ovf and optionally contains a manifest file with suffix .mf and a certificate file with suffix .cert. The OVF description file is used to describe configuration information of various virtual machines contained in that OVF package. Additionally, an OVF package also contains disk image files of various virtual machines forming a virtual appliance. These files store data in virtual disks in form of images.
According to user's requirement on various virtual appliances, many data centers are configured to, based on user requirement, provide user with virtual appliance in form of OVF package, for example. In particular, under cloud computing environment, especially under Infrastructure as a Service (IaaS) mode, a cloud data center may provide various virtual machines and virtual appliances to a variety of users. Due to user's different requirements on various virtual appliances such as the different virtual disk format or size, the virtualization format (e.g. VMware format, or XEN format), etc, virtual appliances built in the data center often cannot meet user's actual expectation. In particular, in a cloud computing environment, there is variation in requirements from different users or in requirements of a same user under different contexts, and such variability results in that the provided limited virtual appliances cannot meet the requirements.